package com.example.design.function;

import java.util.function.Function;

/**
 * 函数型接口
 */
public class TestFunction {
    public static void main(String[] args) {
        // 1)客户1 : y为x的2倍
        System.out.println(useFunction(5, x -> x * 2));// 10

        // 2) 客户2 : y为x的平方
        System.out.println(useFunction(-9, x -> x * x));// 81
    }

    /*
     * 根据x计算y
     * 参数x代表用户传递的数
     * 参数2代表用户要求得到结果的实现方式
     * */
    public static int useFunction(int x, Function<Integer, Integer> fun) {
        return fun.apply(x);
    }
}